using System;
using System.Collections.Generic;
using System.Runtime.Serialization;
using Sinacor.Servico.Bovespa.Ordens.Service.DataContract.Enum;

namespace Sinacor.Servico.Bovespa.Ordens.Service.DataContract.Request
{
	/// <summary>
	/// Data Contract Class - ReqNegocio
	/// </summary>
	[DataContract(Namespace = "http://www.bovespa.com.br/Sinacor.Servico.Bovespa.Ordens.Service.DataContract.Request")]
	public partial class NegocioInclusaoRequest
	{
		#region Chave
		private System.Int32 NumeroNegocioField;

		[DataMember(IsRequired = false)]
		public System.Int32 NumeroNegocio
		{
			get { return NumeroNegocioField; }
			set { NumeroNegocioField = value; }
		}

		private System.Int32 CodigoMercadoField;

		[DataMember(IsRequired = false)]
		public System.Int32 CodigoMercado
		{
			get { return CodigoMercadoField; }
			set { CodigoMercadoField = value; }
		}

		private System.Int32 CodigoPapelField;

		[DataMember(IsRequired = false)]
		public System.Int32 CodigoPapel
		{
			get { return CodigoPapelField; }
			set { CodigoPapelField = value; }
		}

		private System.DateTime DataPregaoField;

		[DataMember(IsRequired = false)]
		public System.DateTime DataPregao
		{
			get { return DataPregaoField; }
			set { DataPregaoField = value; }
		}
		#endregion

		private System.DateTime DataMovimentoField;

		[DataMember(IsRequired = false)]
		public System.DateTime DataMovimento
		{
			get { return DataMovimentoField; }
			set { DataMovimentoField = value; }
		}


		private System.String BolsaField;

		[DataMember(IsRequired = false)]
		public System.String Bolsa
		{
			get { return BolsaField; }
			set { BolsaField = value; }
		}

		private System.Int32 PrazoTermoField;

		[DataMember(IsRequired = false)]
		public System.Int32 PrazoTermo
		{
			get { return PrazoTermoField; }
			set { PrazoTermoField = value; }
		}

		private System.DateTime VencimentoOpcoesTermoField;

		[DataMember(IsRequired = false)]
		public System.DateTime VencimentoOpcoesTermo
		{
			get { return VencimentoOpcoesTermoField; }
			set { VencimentoOpcoesTermoField = value; }
		}

		private System.DateTime HoraNegocioField;

		[DataMember(IsRequired = false,Order = 5)]
		public System.DateTime HoraNegocio
		{
			get { return HoraNegocioField; }
			set { HoraNegocioField = value; }
		}

		private TipoNaturezaOperacao TipoNaturezaOperacaoField;

		[DataMember(IsRequired = false)]
		public TipoNaturezaOperacao TipoNaturezaOperacao
		{
			get { return TipoNaturezaOperacaoField; }
			set { TipoNaturezaOperacaoField = value; }
		}

		private System.Int32 ContraparteField;

		[DataMember(IsRequired = false)]
		public System.Int32 Contraparte
		{
			get { return ContraparteField; }
			set { ContraparteField = value; }
		}

		private TipoTermo TipoTermoField;

		[DataMember(IsRequired = false)]
		public TipoTermo TipoTermo
		{
			get { return TipoTermoField; }
			set { TipoTermoField = value; }
		}

		private System.Decimal FatorValorizacaoField;

		[DataMember(IsRequired = false,Order = 8)]
		public System.Decimal FatorValorizacao
		{
			get { return FatorValorizacaoField; }
			set { FatorValorizacaoField = value; }
		}

		private System.Int32 DiasLiquidacaoField;

		[DataMember(IsRequired = false,Order = 9)]
		public System.Int32 DiasLiquidacao
		{
			get { return DiasLiquidacaoField; }
			set { DiasLiquidacaoField = value; }
		}

		private System.String PapelObjetoField;

		[DataMember(IsRequired = false)]
		public System.String PapelObjeto
		{
			get { return PapelObjetoField; }
			set { PapelObjetoField = value; }
		}

		private TipoOrigemNegocio TipoOrigemField;

		[DataMember(IsRequired = false)]
		public TipoOrigemNegocio TipoOrigem
		{
			get { return TipoOrigemField; }
			set { TipoOrigemField = value; }
		}

		private System.Decimal QuantidadeField;

		[DataMember(IsRequired = false, Order =12)]
		public System.Decimal Quantidade
		{
			get { return QuantidadeField; }
			set { QuantidadeField = value; }
		}

		private System.Decimal PrecoNegocioField;

		[DataMember(IsRequired = false,Order = 13)]
		public System.Decimal PrecoNegocio
		{
			get { return PrecoNegocioField; }
			set { PrecoNegocioField = value; }
		}

		private TipoLiquidacaoNegocio TipoLiquidacaoField;

		[DataMember(IsRequired = false)]
		public TipoLiquidacaoNegocio TipoLiquidacao
		{
			get { return TipoLiquidacaoField; }
			set { TipoLiquidacaoField = value; }
		}

		private System.Boolean PontaGeradoraOfertaField;

		[DataMember(IsRequired = false,  Order = 15)]
		public System.Boolean PontaGeradoraOferta
		{
			get { return PontaGeradoraOfertaField; }
			set { PontaGeradoraOfertaField = value; }
		}

		private System.Boolean NaoLiquidaNotaField;

		[DataMember(IsRequired = false,Order = 16)]
		public System.Boolean NaoLiquidaNota
		{
			get { return NaoLiquidaNotaField; }
			set { NaoLiquidaNotaField = value; }
		}

		private System.Boolean NegociadoAfterMarketField;

		[DataMember(IsRequired = false,Order = 17)]
		public System.Boolean NegociadoAfterMarket
		{
			get { return NegociadoAfterMarketField; }
			set { NegociadoAfterMarketField = value; }
		}

		private System.String ObservacaoField;

		[DataMember(IsRequired = false,Order = 18)]
		public System.String Observacao
		{
			get { return ObservacaoField; }
			set { ObservacaoField = value; }
		}

		private TipoEstrategia EstrategiaField;

		[DataMember(IsRequired = false)]
		public TipoEstrategia Estrategia
		{
			get { return EstrategiaField; }
			set { EstrategiaField = value; }
		}

		private TipoOfertaBovespaFix TipoOfertaBovespaFixField;

		[DataMember(IsRequired = false)]
		public TipoOfertaBovespaFix TipoOfertaBovespaFix
		{
			get { return TipoOfertaBovespaFixField; }
			set { TipoOfertaBovespaFixField = value; }
		}

		private System.Int32 CodigoCorrespondenteField;

		[DataMember(IsRequired = false,Order = 21)]
		public System.Int32 CodigoCorrespondente
		{
			get { return CodigoCorrespondenteField; }
			set { CodigoCorrespondenteField = value; }
		}

		private System.Decimal PercentualCorrespondenteField;

		[DataMember(IsRequired = false)]
		public System.Decimal PercentualCorrespondente
		{
			get { return PercentualCorrespondenteField; }
			set { PercentualCorrespondenteField = value; }
		}

	}
}
